package com.atguigu.bigdata.scala.chapter05

object Scala01_Function {

    def main(args: Array[String]): Unit = {

        // TODO Function - 函数
        // Scala的学习中，函数式编程非常重要
        // 函数 => 信函 => 包装
        // 面向对象编程：解决问题的时候，讲问题分解成一个一个的对象和类，然后通过组合类的关系
        //            并调用对象的方法来解决问题。
        /*

            用户登录 : 账号，密码

            class User {
                loginacct,
                password

                public boolean login() {
                    return DB.check( loginacct, password )
                }
            }

            class System {

                public boolean login( User user ) {
                    return user.login()
                }
            }
         */

        // 函数式编程 ： 解决问题的时候，将实现过程包装成一个一个独立的功能，然后按照特定的顺序进行调用
        /*
           用户登录 : 账号，密码

           获取数据 : getData() => 网络
           验证数据 : checkData() => DB
           逻辑处理 : dispatcher() => 网络

           Data d = getData()

           boolean flg = checData(d)

           dispatcher(flg)

         */

        // 生产环境中，会将面向对象和函数式操作融合在一起使用
    }
}
